﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BBMS.DLL.Forms.Base;
using BBMS.DLL.DataContract;
using BBMS.DLL.Base;
using ExcelLibrary.SpreadSheet;
namespace BBMS.DLL.Forms.Catalog.Branch
{
    public partial class frmBranchFilter : FrmFilterBase
    {
        public frmBranchFilter()
        {
            InitializeComponent();            
        }
        public new static readonly string FunctionKey = "DMNganhHang";
        protected override string GetFunctionKey() { return "DMNganhHang"; }
        protected override ObjectBase GetObjectBase() { return new BBMS.DLL.DataContract.NganhHang(); }

        protected override void GenColHeaders()
        {
            lvList.Clear();
            lvList.Columns.Add("Mã", 80);
            lvList.Columns.Add("Tên Tiếng Việt", 250);
            lvList.Columns.Add("Tên Tiếng Anh", 250);
        }
        protected override ArrayList GenSampleData()
        {
            ArrayList ar = new ArrayList();
            ar.Add(new string[] {"Mã ngành hàng","Tên Tiếng Việt", "Tên Tiếng Anh"});
            NganhHang nganhHangList = new NganhHang();
            ArrayList arr = nganhHangList.GetAllObject(fParams);
            if (arr != null)
            {
                for (int i = 0; i < arr.Count; i++)
                {
                    NganhHang nh = (NganhHang)arr[i];
                    ar.Add(new string[] { nh.Ma, nh.Ten, nh.TenTiengAnh });
                }
            }
           // ar.Add(new string[] { "HMM", "Hàng may mặc", ""});
            //ar.Add(new string[] { "HDDD", "Hàng điện dân dụng", ""});

            // define col width
            //ar.Add(new int[] { 100, 300, 300});
            return ar;
        }

        protected override void UpdateFilterParams()
        {
            if (txtMa.Text.Trim() != "")
            {
                FilterCondition fcMa = new FilterCondition("Ma", "Ma", "%" + txtMa.Text.Trim() + "%", SQLOperator.LIKE);
                fParams.ArParams = new System.Collections.ArrayList { fcMa };
                fParams.CurrentPage = 0;
            }
            else
            {
                MessageBox.Show(null, "Bạn phải nhập nội dung tìm kiếm", "Thông báo");
            }
        }

        protected override ArrayList GetImportedList(Worksheet sheet)
        {
            ArrayList arret = new ArrayList();
            for (int i = 1; i < sheet.Cells.Rows.Count; i++)
            {
                NganhHang nh = new NganhHang();
                Cell cell = sheet.Cells[i, 0];
                nh.Ma = cell.Value.ToString();
                cell = sheet.Cells[i, 1];
                nh.Ten = cell.Value.ToString();
                cell = sheet.Cells[i, 2];
                nh.TenTiengAnh = cell.Value.ToString();
                arret.Add(nh);               

            }
            return arret;
        }

        protected override FrmEditBase CreateEditForm(ObjectBase obj)
        {
            return new frmBranchUpdate(obj);
        }

        protected override void AddNewObjectToList(BBMS.DLL.Base.ObjectBase obj)
        {
            ListViewItem it = new ListViewItem(((NganhHang)obj).Ma);
            it.SubItems.Add(((NganhHang)obj).Ten);
            it.SubItems.Add(((NganhHang)obj).TenTiengAnh);
            it.Tag = obj;
            lvList.Items.Add(it);
        }

        protected override void UpdateObjectToList(BBMS.DLL.Base.ObjectBase obj)
        {
            foreach (ListViewItem it in lvList.Items)
            {
                if (((NganhHang)it.Tag).Ma == ((NganhHang)obj).Ma)
                {
                    it.SubItems[1].Text = ((NganhHang)obj).Ten;
                    it.SubItems[2].Text = ((NganhHang)obj).TenTiengAnh;
                    it.Tag = obj;
                    break;
                }
            }
        }

      
        
    }
}
